package com.ipartek.pruebas.capitulo10;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.StringTokenizer;

public class LecturaYEscrituraFicherosP5 {

	private static FileWriter fileWB;
	private static BufferedReader br;

	/**
	 * Clase
	 * @param args
	 * @throws IOException
	 */
	public static void main(String[] args) throws IOException {
		System.out
				.println("pruebas de directorio para : c:\\Desarrollo\\documentacion\\documentacion");
		System.out
				.println("Prueba de isDirectory en una condicion, ademas de list() que almacena los datos en modo array");
		File dirA = new File("c:\\Desarrollo\\documentacion\\documentacion");
		System.out.println(dirA.isDirectory());// devuelve si esta el directorio
		String[] listac = dirA.list();
		if (dirA.isDirectory()) {// comprueba si existe el directorio
			for (int i = 0; i < listac.length; i++) {
				System.out.println(listac[i] + " ");
			}

		}
		System.out.printf("Comprueba si existe el directorio: ");
		System.out.println(dirA.exists());// devuelve falso si no existe el
											// directorio"
		System.out.println();
		System.out
				.println("pruebas con el fichero: "
						+ "c:\\Desarrollo\\documentacion\\documentacion\\javascript.docx");
		System.out
				.println("Utilizaremos para su existencia el isFile y exists para saber si existe o no");
		File fileA = new File(
				"c:\\Desarrollo\\documentacion\\documentacion\\javascript.docx");
		System.out.printf("Comprueba si existe el fichero: ");
		System.out.println(fileA.isFile());// comprueba si existe el fichero
		System.out.printf("Comprueba si existe el fichero: ");
		System.out.println(fileA.exists());
		System.out.println("Prueba de creacion de directorio");
		File dirB = new File(
				"c:\\Desarrollo\\documentacion\\documentacion\\prueba\\");
		// voy a comprobar si existe, sino existe que se cree
		File fileB = new File(
				"c:\\Desarrollo\\documentacion\\documentacion\\prueba\\prueba.txt");
		if (!dirB.isDirectory()) {
			System.out.println("El directorio no existe, asi que lo creo");
			dirB.mkdir();// crea el directorio
		} else {
			fileB.delete();// si tiene algun archivo dentro o directorio no se
							// borraria
			System.out.println("El directorio existe, asi que lo borro");
			dirB.delete();// crea el directorio
		}
		if (dirB.exists()) {
			if (!fileB.exists()) {// comprueba si existe
				System.out.println("Creo el fichero");
				fileB.createNewFile();// crea el fichero
				fileWB = new FileWriter(fileB.getPath());
				// leo de la lista y pego en el fichero
				for (int i = 0; i < listac.length; i++) {
					fileWB.write(listac[i] + "\t");
					fileWB.flush();
				}
				fileWB.close();
				FileReader fileRB = new FileReader(fileB.getPath());//abro el fichero
				br = new BufferedReader(fileRB);//creo el buffer para recoger lo leido
				String linea;
				while( (linea = br.readLine())!= null)//Hasta que no haya nada
				{
					System.out.println( linea);
				}
				fileRB.close();
			}
		}
		//como probar el StringTokenizer
		String fila = "Ted,Upton,Sant Andreu De La Barca,8,tedfupton@mailinator.com,12277015Y,TRABAJADOR";
		StringTokenizer st = new StringTokenizer(fila,",");
		while (st.hasMoreTokens()){
			System.out.println(st.nextToken());
		}
		
	}

}
